home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wired for Sound Pro
/
Wired for Sound Pro CD (Aristosoft, Inc.) (1993).ISO
/
specific.inc
< prev
next >
Wrap
Text File
|
1993-11-01
|
25KB
|
623 lines
''
'' CD Blaster / Wired for Sound 3.0 Pro CD-specific install functions
'' Copyright (c) 1993 Aristosoft, Inc.
''
'' Set up product-specific titles, etc.
SUB SetProductTitles STATIC
SetTitle "Wired for Sound Pro CD"
WFSAPP$ = "WFS Pro"
END SUB
FUNCTION InfFile() STATIC AS STRING
InfFile = "WFS.INF"
END FUNCTION
FUNCTION MakeInstDir(D$) STATIC AS STRING
'' If we're lucky, this will tell us where we're located
S$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
'' If that didn't work, then try this for 2.02
IF S$ = "" THEN
S$ = GetIniKeyString(WININI$, "Sound API", "MaleVoice")
S$ = mid$(S$, 1, len(S$) - len("\VOICE3.VOI"))
END IF
'' If that didn't work, then we'll punt with the default
IF S$ = "" THEN
S$ = D$ + ":\WFSOUND"
END IF
'' WFSOUND.INF must be in any installed WFS product
IF EXISTS(MakePath(S$, "WFSOUND.INF")) THEN
r% = DoMsgBox("An installed copy of Wired for Sound was found in " + S$+ ".", "Wired for Sound", MB_OK)
END IF
MakeInstDir = S$
END FUNCTION
SUB AddInfSectionNames(BASE$, TAPPS$, SOUNDS$, VOICES$, BASEINST$, TAPPSINST$, SOUNDSINST$, VOICESINST$) STATIC
'' These are the base files we can install
AddListItem BASE$, "Base Files"
SetSymbolValue BASEINST$, GetSymbolValue(BASE$)
'' These are the Talking Apps we can install
AddListItem TAPPS$, "CD Browser"
AddListItem TAPPS$, "Color Cursors"
AddListItem TAPPS$, "Cursor Changer"
AddListItem TAPPS$, "Groupie"
AddListItem TAPPS$, "Icon Changer"
AddListItem TAPPS$, "Intruder Alert"
AddListItem TAPPS$, "MediaScape Changer"
AddListItem TAPPS$, "Multimedia Jukebox"
AddListItem TAPPS$, "Multimedia Screen Saver"
AddListItem TAPPS$, "Post This!"
AddListItem TAPPS$, "Talking Calculator"
AddListItem TAPPS$, "Talking Calendar"
AddListItem TAPPS$, "Talking Clock"
AddListItem TAPPS$, "Talking Graveyard"
AddListItem TAPPS$, "Talking Minesweeper"
AddListItem TAPPS$, "Talking Monitor"
AddListItem TAPPS$, "Talking Solitaire"
AddListItem TAPPS$, "Wallpaper Changer"
AddListItem TAPPS$, "WFS Sound Editor"
'' By default, we install all Talking Apps
SetSymbolValue TAPPSINST$, GetSymbolValue(TAPPS$)
'' These are the sounds we can install
AddListItem SOUNDS$, "Button Sounds"
AddListItem SOUNDS$, "Funny Sounds"
AddListItem SOUNDS$, "Human Sounds"
AddListItem SOUNDS$, "Icon Sounds"
AddListItem SOUNDS$, "Job Saver Sounds"
AddListItem SOUNDS$, "Phrase Sounds"
AddListItem SOUNDS$, "Classical MIDI"
AddListItem SOUNDS$, "Jazz MIDI"
AddListItem SOUNDS$, "Misc. MIDI"
AddListItem SOUNDS$, "New Age MIDI"
AddListItem SOUNDS$, "Pleasant MIDI"
AddListItem SOUNDS$, "R & B MIDI"
'' By default, we install all the above
SetSymbolValue SOUNDSINST$, GetSymbolValue(SOUNDS$)
'' Only include this file if we can find the Star Trek DLL
st$ = GetIniKeyString(MakePath(WINDIR$, "AD_PREFS.INI"), "After Dark", "Path")
IF EXISTS(MakePath(st$, "st_res\st_snd.dll")) THEN
AddListItem SOUNDSINST$, "Star Trek Stubs"
END IF
'' ...but it's always an option
AddListItem SOUNDS$, "Star Trek Stubs"
'' The user probably doesn't want all these on the HD by default
AddListItem SOUNDS$, "Video Samples"
AddListItem SOUNDS$, "Animal Sounds"
AddListItem SOUNDS$, "Cartoon Sounds"
AddListItem SOUNDS$, "Destructive Sounds"
AddListItem SOUNDS$, "Drums and Cymbals"
AddListItem SOUNDS$, "Equipment Sounds"
AddListItem SOUNDS$, "People Sounds"
AddListItem SOUNDS$, "Illness Sounds"
AddListItem SOUNDS$, "Impact Sounds"
AddListItem SOUNDS$, "Musical Sounds"
AddListItem SOUNDS$, "Popping Sounds"
AddListItem SOUNDS$, "Ringing Sounds"
AddListItem SOUNDS$, "Ripping and Tearing"
AddListItem SOUNDS$, "Nuts & Bolts"
AddListItem SOUNDS$, "Sports Sounds"
AddListItem SOUNDS$, "Word Sounds"
AddListItem SOUNDS$, "Misc. Sounds"
AddListItem SOUNDS$, "Bach MIDI"
AddListItem SOUNDS$, "Beethoven MIDI"
AddListItem SOUNDS$, "Handel MIDI"
AddListItem SOUNDS$, "Long Classical MIDI"
AddListItem SOUNDS$, "Mozart MIDI"
AddListItem SOUNDS$, "Tchaikovsky MIDI"
AddListItem SOUNDS$, "Vivaldi MIDI"
'' We can install all these voices and faces
'' AddListItem VOICES$, "Female Voice"
AddListItem VOICES$, "Make-Your-Own Voice"
AddListItem VOICES$, "Male Voice (compressed)"
AddListItem VOICES$, "Computer Face"
AddListItem VOICES$, "Male Face"
AddListItem VOICES$, "Female Face"
AddListItem VOICES$, "WFS Face"
'' By default, we install all the above
SetSymbolValue VOICESINST$, GetSymbolValue(VOICES$)
'' These aren't in the default install
AddListItem VOICES$, "NY Female Voice"
AddListItem VOICES$, "NY Male Voice"
AddListItem VOICES$, "Southern Female Voice (compressed)"
AddListItem VOICES$, "Southern Male Voice (compressed)"
AddListItem VOICES$, "British Female Voice (compressed)"
AddListItem VOICES$, "Sultry Female Face"
AddListItem VOICES$, "Sultry Female Voice (compressed)"
AddListItem VOICES$, "Female Chinese Voice"
AddListItem VOICES$, "Female German Voice (compressed)"
AddListItem VOICES$, "Female Italian Voice (compressed)"
AddListItem VOICES$, "Female Japanese Voice (compressed)"
AddListItem VOICES$, "Female Spanish Voice (compressed)"
AddListItem VOICES$, "Female Swedish Voice (compressed)"
AddListItem VOICES$, "Male French Voice (compressed)"
AddListItem VOICES$, "Arnold Blaster Voice (compressed)"
AddListItem VOICES$, "Arnold Blaster Face"
AddListItem VOICES$, "Clinton Blaster Voice (compressed)"
AddListItem VOICES$, "Clinton Blaster Face"
AddListItem VOICES$, "Harold Blaster Voice (compressed)"
AddListItem VOICES$, "Harold Blaster Face"
AddListItem VOICES$, "H. George Blaster Voice (compressed)"
AddListItem VOICES$, "H. George Blaster Face"
AddListItem VOICES$, "H. Ross Blaster Voice (compressed)"
AddListItem VOICES$, "H. Ross Blaster Face"
AddListItem VOICES$, "H. Simmons Blaster Voice (compressed)"
AddListItem VOICES$, "H. Simmons Blaster Face"
AddListItem VOICES$, "Marge Blaster Voice (compressed)"
AddListItem VOICES$, "Marge Blaster Face"
AddListItem VOICES$, "Nerd Face"
AddListItem VOICES$, "Synthesized Voice"
END SUB
SUB RecalcPath STATIC
CursorSave% = ShowWaitCursor()
RecalcOptFiles BASEFILES
RecalcOptFiles SOUNDFILES
RecalcOptFiles TAPPFILES
RecalcOptFiles VOICEFILES
RestoreCursor CursorSave%
END SUB
SUB AddOptFiles STATIC
AddOptFilesToCopyList BASEFILES
AddOptFilesToCopyList TAPPFILES
AddOptFilesToCopyList SOUNDFILES
AddOptFilesToCopyList VOICEFILES
END SUB
SUB AddOptFilesToCopyList (ftype%) STATIC
IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
SrcDir$ = GetSymbolValue("STF_SRCDIR")
IF ftype% = BASEFILES THEN
''Base files
l% = GetListLength(BASEINST$)
FOR i% = 1 TO l% STEP 1
AddSectionFilesToCopyList GetListItem(BASEINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
NEXT i%
'' Install default voices and faces
AddSectionFilesToCopyList "Null Face", SrcDir$, DEST$
AddSectionFilesToCopyList "Female Voice (compressed)", SrcDir$, DEST$
AddSectionFilesToCopyList "Read Me", SrcDir$, DEST$
'' Install Video for Windows runtime
AddSectionFilesToCopyList "Media Player", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
AddSectionFilesToCopyList "VFW Runtime", MakePath(SrcDir$, "WFS\VFW"), SYSDIR$
AddSectionFilesToCopyList "Codecs", MakePath(SrcDir$, "WFS\VFW"), WINDIR$
AddSpecialFileToCopyList "System Files", "CTL3D", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "CTL3D.DLL")
AddSpecialFileToCopyList "System Files", "DIB", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "DIB.DRV")
IF INSTDSOUND% OR EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
AddSpecialFileToCopyList "DSOUND Files", "DSOUND", SrcDir$, MakePath(SYSDIR$, "DSOUND.DLL")
AddSpecialFileToCopyList "DSOUND Files", "DSCPL", SrcDir$, MakePath(SYSDIR$, "DSCPL.CPL")
END IF
ELSEIF ftype% = TAPPFILES THEN
l% = GetListLength(TAPPSINST$)
FOR i% = 1 TO l% STEP 1
AddSectionFilesToCopyList GetListItem(TAPPSINST$, i%), MakePath(SrcDir$, "WFS"), DEST$
NEXT i%
IF StringInList("Talking Calculator", TAPPSINST$) THEN
AddSpecialFileToCopyList "System Files", "LCD Font (VGA)", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "LCD.FON")
AddSpecialFileToCopyList "System Files", "LCD Font (8514a)", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "LCDBIG.FON")
END IF
IF StringInList("Color Cursors", TAPPSINST$) THEN
AddSectionFilesToCopyList "Cursors", SrcDir$, DEST
AddSpecialFileToCopyList "System Files", "CCSHELL", MakePath(SrcDir$, "WFS"), MakePath(SYSDIR$, "CCSHELL.DRV")
END IF
IF StringInList("Jukebox", TAPPSINST$) THEN
AddSpecialFileToCopyList "System Files", "MMSSSCR", MakePath(SrcDir$, "WFS"), MakePath(WINDIR$, "MMSSSCR.SCR")
END IF
IF StringInList("Wallpaper Changer", TAPPSINST$) THEN
AddSectionFilesToCopyList "Patterns", SrcDir$, DEST$
END IF
ELSEIF ftype% = SOUNDFILES THEN
l% = GetListLength(SOUNDSINST$)
FOR i% = 1 TO l% STEP 1
AddSectionFilesToCopyList GetListItem(SOUNDSINST$, i%), SrcDir$, DEST$
NEXT i%
ELSEIF ftype% = VOICEFILES THEN
l% = GetListLength(VOICESINST$)
FOR i% = 1 TO l% STEP 1
AddSectionFilesToCopyList GetListItem(VOICESINST$, i%), SrcDir$, DEST$
NEXT i%
END IF
SrcDir$ = ""
END IF
END SUB
SUB SetDriveStatus STATIC
FITS% = 0
drive$ = MID$(DEST$, 1, 1)
ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
free& = GetFreeSpaceForDrive(drive$)
IF cost& > free& THEN
FITS% = 1
END IF
ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
IF drive$ = WINDRIVE$ THEN
ReplaceListItem DRIVETEXT$, 4, ""
ReplaceListItem DRIVETEXT$, 5, ""
ReplaceListItem DRIVETEXT$, 6, ""
ELSE
ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
cost& = VAL(GetListItem(BASENEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(SOUNDNEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(TAPPNEEDS$, ndrive%))
cost& = cost& + VAL(GetListItem(VOICENEEDS$, ndrive%))
IF cost& = 0 THEN
ReplaceListItem DRIVETEXT$, 4, ""
ReplaceListItem DRIVETEXT$, 5, ""
ReplaceListItem DRIVETEXT$, 6, ""
ELSE
free& = GetFreeSpaceForDrive(WINDRIVE$)
IF cost& > free& THEN
FITS% = 1
END IF
ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
END IF
END IF
END SUB
'' Add billboard dialogs for this app
SUB AddBillboards STATIC
AddToBillboardList CUIDLL$, BBD1, "FModelessDlgProc", 100
AddToBillboardList CUIDLL$, BBD2, "FModelessDlgProc", 100
AddToBillboardList CUIDLL$, BBD3, "FModelessDlgProc", 100
AddToBillboardList CUIDLL$, BBD4, "FModelessDlgProc", 100
AddToBillboardList CUIDLL$, BBD5, "FModelessDlgProc", 100
AddToBillboardList CUIDLL$, BBD6, "FModelessDlgProc", 100
END SUB
CONST IDC_OWNER = 104
CONST IDC_WORKPLACE = 106
CONST RT_RCDATA = 10
SUB ConfigureApps STATIC
'' This is so Fixer can find where we're installed
CreateIniKeyValue WININI$, "Aristosoft", "WFS", DEST$, cmoOverwrite
'' This is the name of the group we'll install into
GROUP$ = "WFS Pro CD"
GROUP1$ = "WFS Utilities"
GROUP2$ = "Talking Apps"
'' Configure base applications
IF GetListItem(CHECKSTATES$, BASEFILES) = "ON" THEN
'' Create file pointers with base setup
IF EXISTS(MakePath(DEST$, "location.cdf")) THEN
r% = DoMsgBox("Do you want to rebuild the Virtual CD pointers?", "Wired for Sound", MB_YESNO)
IF r% = IDNO THEN
GOTO MakeGroup
END IF
END IF
SrcDir$ = GetSymbolValue("STF_SRCDIR")
res% = Run("cdfinst.exe " + MakePath(SrcDir$, "FILES.LOC") + " " + SrcDir$ + " " + DEST$)
SrcDir$ = ""
MakeGroup:
'' Create a group for us...
CreateProgmanGroup GROUP$, "", cmoNone
CreateProgmanGroup GROUP1$, "", cmoNone
CreateProgmanGroup GROUP2$, "", cmoNone
'' Setup WFS Pro
CreateProgmanItem GROUP$, WFSAPP$, MakePath(DEST$, "wfsound.exe"), "", cmoOverwrite
CreateProgmanItem GROUP$, "Configuration Editor", MakePath(DEST$, "wfsfix.exe"), "", cmoOverwrite
CreateProgmanItem GROUP$, "Read Me!", "write.exe " + MakePath(DEST$, "readme.wri"), "", cmoOverwrite
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "WFSOUND.EXE", "+NULLFACE.FAC", cmoNone
IF INSTDSOUND% THEN
CreateProgmanItem GROUP$, "DSOUND Info", "notepad.exe " + MakePath(DEST$, "dsound.txt"), "", cmoOverwrite
END IF
CreateProgmanItem GROUP1$, "Media Manager", MakePath(DEST$, "sndmnger.exe"), "", cmoOverwrite
'' Setup up default association file
CreateIniKeyValue MakePath(DEST$, "WFSOUND.INF"), "WFSound", "ActiveProfile", MakePath(DEST$, "DEFAULT.WFS"), cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "WFSOUND.EXE", "+NULLFACE.FAC", cmoNone
''Turn on icon events only if we support the shell
s$ = LCASE$(GetIniKeyString(SYSINI$, "boot", "shell"))
IF INSTR(s$, "progman.exe") THEN
i$ = "1"
ELSEIF INSTR(s$, "ndw.exe") THEN
i$ = "1"
ELSEIF INSTR(s$, "wndt.exe") THEN
i$ = "1"
ELSE
i$ = "0"
END IF
CreateIniKeyValue MakePath(DEST$, "DEFAULT.WFS"), "Status", "Icon", i$, cmoNone
s$ = ""
i$ = ""
'' Disable Win 3.1 system startup and exit sounds
s$ = GetIniKeyString(WININI$, "Sounds", "SystemStart")
CreateIniKeyValue WININI$, "Sounds", "OldSystemStart", s$, cmoOverwrite
CreateIniKeyValue WININI$, "Sounds", "SystemStart", "<none>,System Start", cmoOverwrite
s$ = GetIniKeyString(INI$, "Sounds", "SystemExit")
CreateIniKeyValue WININI$, "Sounds", "OldSystemExit", s$, cmoOverwrite
CreateIniKeyValue WININI$, "Sounds", "SystemExit", "<none>,System Exit", cmoOverwrite
'' Remove vox.drv
IF LCASE$(GetIniKeyString(SYSINI$, "drivers", "wavemapper")) = "vox.drv" THEN
s$ = GetIniKeyString(SYSINI$, "drivers", "vox.wavemapper")
CreateIniKeyValue SYSINI$, "drivers", "wavemapper", s$, cmoOverwrite
END IF
'' Disable speech synthesis support by default
CreateIniKeyValue WININI$, "Sound API", "NoSynth", "1", cmoNone
''Stamp the WFSABOUT resources
IF len(OWNER$) > 0 THEN
StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, OWNER$ + chr$(0), len(OWNER$) + 1
ELSE
StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_OWNER, " " + chr$(0), 2
END IF
IF len(WORKPLACE$) > 0 THEN
StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, WORKPLACE$ + chr$(0), len(WORKPLACE$) + 1
ELSE
StampResource "Base Files", "WFS About", DEST$, RT_RCDATA, IDC_WORKPLACE, " " + chr$(0), 2
END IF
'' Setup Video for Windows
CreateIniKeyValue SYSINI$, "Drivers", "VIDC.MSVC", "msvidc.drv", cmoNone
CreateIniKeyValue SYSINI$, "Drivers", "VIDC.RT21", "indeo.drv", cmoNone
CreateIniKeyValue SYSINI$, "mci", "AVIVideo", "mciavi.drv", cmoNone
CreateIniKeyValue WININI$, "mci extensions", "avi", "AVIVideo", cmoNone
res% = Run("regedit.exe /s " + MakePath(WINDIR$, "mplayer.reg"))
END IF
'' Configure Talking Applications
IF GetListItem(CHECKSTATES$, TAPPFILES) = "ON" THEN
IF StringInList("CD Browser", TAPPSINST$) THEN
CreateProgmanItem GROUP$, "CD Browser", MakePath(DEST$, "browser.exe"), "", cmoOverwrite
END IF
IF StringInList("Multimedia Screen Saver", TAPPSINST$) THEN
CreateProgmanItem GROUP$, "Multimedia Screen Saver", MakePath(DEST$, "mmssaver.exe"), "", cmoOverwrite
CreateIniKeyValue WININI$, "Aristosoft", "ScreenSaver", MakePath(DEST$, "mmssaver.exe"), cmoOverwrite
INI$ = MakePath(DEST$, "MMSSAVER.INI")
CreateIniKeyValue INI$, "Settings", "SplFile", MakePath(DEST$, "default.spl"), cmoNone
END IF
IF StringInList("Multimedia Jukebox", TAPPSINST$) THEN
CreateProgmanItem GROUP$, "Multimedia Jukebox", MakePath(DEST$, "mmjbox.exe"), "", cmoOverwrite
INI$ = MakePath(DEST$, "MMJBOX.INI")
CreateIniKeyValue INI$, "Settings", "BoxFile", MakePath(DEST$, "default.box"), cmoNone
END IF
IF StringInList("Wallpaper Changer", TAPPSINST$) THEN
CreateProgmanItem GROUP$, "Wallpaper Changer", MakePath(DEST$, "wally.exe"), "", cmoOverwrite
INI$ = MakePath(DEST$, "WALLY.INI")
CreateIniKeyValue INI$, "Settings", "WallFile", MakePath(DEST$, "default.wal"), cmoNone
END IF
IF StringInList("MediaScape Changer", TAPPSINST$) THEN
CreateProgmanItem GROUP$, "MediaScape Changer", MakePath(DEST$, "scape.exe"), "", cmoOverwrite
END IF
IF StringInList("Icon Changer", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "Icon Changer", MakePath(DEST$, "iconplus.exe"), "", cmoOverwrite
END IF
IF StringInList("Color Cursors", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "Color Cursors", MakePath(DEST$, "ccset.exe"), "", cmoOverwrite
CreateProgmanItem GROUP1$, "Color Cursor Configuration Utility", MakePath(DEST$, "ccconfig.exe"), "", cmoOverwrite
END IF
IF StringInList("Cursor Changer", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "Cursor Changer", MakePath(DEST$, "cursor.exe") + " /foo /bar", "", cmoOverwrite
END IF
IF StringInList("Talking Solitaire", TAPPSINST$) THEN
CreateProgmanItem GROUP2$, "Talking Solitaire", MakePath(DEST$, "tsol.exe"), "", cmoOverwrite
CreateProgmanItem GROUP2$, "How to Cheat at Solitaire", "winhelp " + MakePath(DEST$, "tsol.hlp"), "", cmoOverwrite
INI$ = MakePath(DEST$, "VOICE.INI")
CreateIniKeyValue INI$, "Voice Library", "TSOL.EXE", "+female.voi", cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "TSOL.EXE", "+NULLFACE.FAC", cmoNone
END IF
IF StringInList("Talking Minesweeper", TAPPSINST$) THEN
CreateProgmanItem GROUP2$, "Talking Minesweeper", MakePath(DEST$, "tmine.exe"), "", cmoOverwrite
CreateProgmanItem GROUP2$, "How to Win Minesweeper", "winhelp " + MakePath(DEST$, "tmine.hlp"), "", cmoOverwrite
END IF
IF StringInList("Talking Monitor", TAPPSINST$) THEN
INI$ = MakePath(DEST$, "TMON.INI")
CreateIniKeyValue INI$, "Talking Monitor", "LowResources", MakePath(DEST$, "SOUNDS\PHRASES\WARNING.wav"), cmoNone
CreateIniKeyValue INI$, "Talking Monitor", "LowMemory", MakePath(DEST$, "SOUNDS\PHRASES\WARNING.wav"), cmoNone
CreateIniKeyValue INI$, "Talking Monitor", "LowDiskSpace", MakePath(DEST$, "SOUNDS\PHRASES\DISKLOW.wav"), cmoNone
CreateProgmanItem GROUP2$, "Talking Monitor", MakePath(DEST$, "tmon.exe"), "", cmoOverwrite
INI$ = MakePath(DEST$, "VOICE.INI")
CreateIniKeyValue INI$, "Voice Library", "TMON.EXE", "+female.voi", cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "TMON.EXE", "+NULLFACE.FAC", cmoNone
END IF
IF StringInList("Talking Graveyard", TAPPSINST$) THEN
INI$ = MakePath(DEST$, "TGRAVE.INI")
CreateIniKeyValue INI$, "Settings", "BurySoundFile", MakePath(DEST$, "SOUNDS\FUNNYSND\CHL_AARG.wav"), cmoNone
CreateIniKeyValue INI$, "Settings", "KillSoundFile", MakePath(DEST$, "SOUNDS\HUMANSND\ELAUGH.wav"), cmoNone
CreateProgmanItem GROUP2$, "Talking Graveyard", MakePath(DEST$, "tgrave.exe"), "", cmoOverwrite
END IF
IF StringInList("Talking Clock", TAPPSINST$) THEN
CreateProgmanItem GROUP2$, "Talking Clock", MakePath(DEST$, "tclock.exe"), "", cmoOverwrite
INI$ = MakePath(DEST$, "VOICE.INI")
CreateIniKeyValue INI$, "Voice Library", "TCLOCK.EXE", "+female.voi", cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "TCLOCK.EXE", "+NULLFACE.FAC", cmoNone
END IF
IF StringInList("Talking Calendar", TAPPSINST$) THEN
CreateProgmanItem GROUP2$, "Talking Calendar", MakePath(DEST$, "tcal.exe"), "", cmoOverwrite
INI$ = MakePath(DEST$, "VOICE.INI")
CreateIniKeyValue INI$, "Voice Library", "TCAL.EXE", "+female.voi", cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "TCAL.EXE", "+NULLFACE.FAC", cmoNone
END IF
IF StringInList("Talking Clock", TAPPSINST$) OR StringInList("Talking Calendar", TAPPSINST$) THEN
INI$ = MakePath(DEST$, "SCHEDAPI.INI")
CreateIniKeyValue INI$, "Settings", "HolidayFile", MakePath(DEST$, "TCAL.HOL"), cmoNone
CreateIniKeyValue INI$, "Settings", "DefaultApptBook", MakePath(DEST$, "DEFAULT.APP"), cmoNone
END IF
IF StringInList("Talking Calculator", TAPPSINST$) THEN
CreateProgmanItem GROUP2$, "Talking Calculator", MakePath(DEST$, "tcalc.exe"), "", cmoOverwrite
CreateIniKeyValue WININI$, "FONTS", "LCD (VGA Res)", "lcd.fon", cmoNone
CreateIniKeyValue WININI$, "FONTS", "LCD (8514a Res)", "lcdbig.fon", cmoNone
INI$ = MakePath(DEST$, "VOICE.INI")
CreateIniKeyValue INI$, "Voice Library", "TCALC.EXE", "+female.voi", cmoNone
INI$ = MakePath(DEST$, "FACE.INI")
CreateIniKeyValue INI$, "Face", "TCALC.EXE", "+NULLFACE.FAC", cmoNone
END IF
IF StringInList("WFS Sound Editor", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "WFS Edit", MakePath(DEST$, "wfsedit.exe"), "", cmoOverwrite
END IF
IF StringInList("Intruder Alert", TAPPSINST$) THEN
INI$ = MakePath(DEST$, "ALERT.INI")
CreateIniKeyValue INI$, "Settings", "AlarmSound", MakePath(DEST$, "SOUNDS\FUNNYSND\ALARM.wav"), cmoNone
CreateProgmanItem GROUP2$, "Intruder Alert", MakePath(DEST$, "alert.exe"), "", cmoOverwrite
CreateProgmanItem GROUP2$, "Intruder Alert Documentation", "write.exe " + MakePath(DEST$, "alert.wri"), "", cmoOverwrite
END IF
IF StringInList("Groupie", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "Groupie", MakePath(DEST$, "groupie.exe"), "", cmoOverwrite
CreateProgmanItem GROUP1$, "Groupie Documentation", "write.exe " + MakePath(DEST$, "groupie.wri"), "", cmoOverwrite
END IF
IF StringInList("Post This!", TAPPSINST$) THEN
CreateProgmanItem GROUP1$, "Post This!", MakePath(DEST$, "postit.exe"), "", cmoOverwrite
CreateProgmanItem GROUP1$, "Post This! Documentation", "write.exe " + MakePath(DEST$, "postit.wri"), "", cmoOverwrite
END IF
END IF
'' Perform sound file installation
IF GetListItem(CHECKSTATES$, SOUNDFILES) = "ON" THEN
IF StringInList("Star Trek Stubs", SOUNDSINST$) THEN
''Set the StarTrek .ESF pointer variable correctly...
path$ = GetIniKeyString(MakePath(WINDIR$, "AD_PREFS.INI"), "After Dark", "Path")
IF path$ <> "" THEN
path$ = MakePath(path$, "st_res\st_snd.dll")
CreateIniKeyValue WININI$, "Sound API", "StarTrek", path$, cmoOverwrite
END IF
END IF
END IF
'' Install DSOUND.DLL as the wave driver if there isn't one already, somewhere...
IF INSTDSOUND% AND EXISTS(MakePath(SYSDIR$, "DSOUND.DLL")) THEN
CreateIniKeyValue SYSINI$, "drivers", "wave", "DSOUND.DLL", cmoOverwrite
END IF
END SUB
'' Remove all files and directories...
SUB DoUninstall STATIC
res% = sndPlaySound(MakePath(INSTSNDDIR$, "areusure.wav"), 3)
IF IDYES = DoMsgBox("Are you sure you want to remove Wired for Sound Pro CD from your system?", "Wired for Sound", MB_YESNO) THEN
DEST$ = GetIniKeyString(WININI$, "Aristosoft", "WFS")
IF DEST$ <> "" THEN
old% = ShowWaitCursor()
SendProgmanCommand "[DeleteGroup(""WFS Pro CD"")]"
SendProgmanCommand "[DeleteGroup(""WFS Utilities"")]"
SendProgmanCommand "[DeleteGroup(""Talking Apps"")]"
KillFiles DEST$
RemoveIniSection WININI$, "Sound API", cmoNone
'' Reset default startup and exit sounds
s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemStart")
RemoveIniKey WININI$, "Sounds", "OldSystemStart", cmoNone
CreateIniKeyValue WININI$, "Sounds", "SystemStart", s$, cmoOverwrite
s$ = GetIniKeyString(WININI$, "Sounds", "OldSystemExit")
RemoveIniKey WININI$, "Sounds", "OldSystemExit", cmoNone
CreateIniKeyValue WININI$, "Sounds", "SystemExit", s$, cmoOverwrite
RestoreCursor old%
i% = DoMsgBox("Wired for Sound Pro CD has been removed. You can run Setup later to re-install it.", "Wired for Sound", MB_OK)
END
ELSE
i% = DoMsgBox("Wired for Sound Pro CD is not installed or cannot be found!", "Wired for Sound", MB_OK)
END IF
END IF
END SUB